package com.quanyan.comment.service;

import com.quanyan.api.APIResponse;
import com.quanyan.comment.reqeust.ReqCommentParam;
import com.quanyan.comment.reqeust.ReqCommentQuery;
import com.quanyan.comment.reqeust.ReqIsComment;
import com.quanyan.comment.response.RespComment;
import com.quanyan.comment.response.RespCommentTagAndCommentDetail;
import com.quanyan.common.Plugin.PageObj;

import java.util.List;
import java.util.Map;

/**
 * Created by jian.zhou on 2016/5/26.、
 * 评论
 */
public interface CommentService {

    /**
     * 增加评论
     * @param reqCommentParam 评论请求参数对象
     * @return
     */
    APIResponse commentAdd(ReqCommentParam reqCommentParam);

    /**
     * 评论查询请求对象
     * @param reqCommentQuery
     * @return
     */
    APIResponse<PageObj<List<RespComment>>> commentQuery(ReqCommentQuery reqCommentQuery);


    /**
     * 删除评论
     * @param commentId
     * @return
     */
    APIResponse commentDel(Integer commentId);


    /**
     * 判断用户是否对业务进行评价
     * @param reqIsComment
     * @return true 已评论 false 未评论
     */
    APIResponse<Boolean> checkIsComment(ReqIsComment reqIsComment);

    /**
     * 判断场地是否评价
     * @param reqIsComment
     * @return true 已评论 false 未评论
     */
    public boolean checkIsCommentPlace(ReqIsComment reqIsComment);


    /**
     * 获取 打分项 和 标签
     * @param reqCommentQuery
     * @return
     */
    public RespCommentTagAndCommentDetail getCommentTagAndCommentDetail(ReqCommentQuery reqCommentQuery);

    /**
     * 删除
     * @param reqCommentQuery
     * @return
     */
    public APIResponse delDynamicComment(ReqCommentQuery reqCommentQuery);

    /**
     * 判断是否回复   true 已回复 false 未回复
     * @param reqIsComment
     * @return
     */
    public boolean checkIsReplace(ReqIsComment reqIsComment);


    /**
     *
     * @param reqCommentQuery
     * @return
     */
    public Map<String,Object> queryCommentTwo(ReqCommentQuery reqCommentQuery);

    }
